package com.woniuxy.movie.product.controller;

import com.woniuxy.movie.commons.core.model.Result;
import com.woniuxy.movie.product.dto.ProductInfoDto;
import com.woniuxy.movie.product.form.ProductForm;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;

@RestController
@Api(tags = "测试相关接口")
@RequestMapping("/product")
public class ProductController {

    @Value("${server.port}")
    private String port;

    @GetMapping("/productTest")
    @ApiOperation("产品测试接口")
    public String productTest(){
        return "product-service";
    }

    @GetMapping("/byId")
    @ApiOperation("查询产品信息")
    public Result<ProductInfoDto> byId(Integer id){
        ProductInfoDto productInfoDto = new ProductInfoDto();
        productInfoDto.setDesc("刘德华好好看的");
        productInfoDto.setName(id+"剪刀手爱刘德华"+port);
        Result<ProductInfoDto> result = Result.getResult(ProductInfoDto.class).setData(productInfoDto).setMsg("查询成功");
        System.out.println(result.getData().getName());
        return result;
    }

    @GetMapping("/byId1")
    @ApiOperation("查询产品信息1")
    public Result<ProductInfoDto> byId1(ProductForm pf){
        ProductInfoDto productInfoDto = new ProductInfoDto();
        productInfoDto.setName(pf.getName());
        productInfoDto.setDesc(pf.getPrice()+":"+port);
        Result<ProductInfoDto> result = Result.getResult(ProductInfoDto.class).setData(productInfoDto).setMsg("查询成功");
        System.out.println(result.getData().getName());
        return result;
    }

    @PostMapping ("/byId2")
    @ApiOperation("查询产品信息2")
    public Result<ProductInfoDto> byId2(@RequestBody ProductForm pf){
        ProductInfoDto productInfoDto = new ProductInfoDto();
        productInfoDto.setName(pf.getName());
        productInfoDto.setDesc(pf.getPrice()+":"+port);
        Result<ProductInfoDto> result = Result.getResult(ProductInfoDto.class).setData(productInfoDto).setMsg("查询成功");
        System.out.println(result.getData().getName());
        return result;
    }

}
